package com.tom.architect.party3.day32.simple2;

import android.os.Bundle;
import android.util.Log;
import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

import com.jakewharton.rxbinding2.view.RxView;
import com.tom.architect.R;
import com.tom.architect.party3.day32.simple2.rxlogin.RxLogin;
import com.tom.architect.party3.day32.simple2.rxlogin.RxLoginPlatform;
import com.tom.architect.party3.day32.simple2.rxlogin.RxLoginResult;

import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;

// 第三方登录，使用响应式 编程思想实现。

public class MainActivity3202 extends AppCompatActivity {
    private View mClearContent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main32);
        mClearContent = findViewById(R.id.clear_content);

        // 按钮点击事件
        RxView.clicks(mClearContent).subscribe(new Consumer<Object>() {
            @Override
            public void accept(Object o) throws Exception {
                // 处理点击事件，调用RxLogin。
                RxLogin.create(MainActivity3202.this)
                        .doOauthVerify(RxLoginPlatform.Platform_QQ) // qq第三方登录
                        .observeOn(AndroidSchedulers.mainThread()) // 切换到主线程
                        .subscribe(new Consumer<RxLoginResult>() {
                            @Override
                            public void accept(RxLoginResult result) throws Exception {
                                // 拿到回调结果。是否成功或失败。
                                if (result.isSucceed()) {
                                    Log.e("TAG", "accept: " + result.getUserInfoMaps().toString());
                                }
                            }
                        });
            }
        });

    }
}

